|
|
|
BlueCielo Meridian Global Collaboration Framework 2012 SP1 Administrator's Guide | BlueCielo ECM Solutions |
The NextDocumentName function and DocGenericEvent_AfterNewDocument event handler described in the preceding topics will fail when the hub vault is not available online for any reason. If this happens, the functions will try to give the document an empty name, which will result in an error. To resolve this problem, the VBScript code should be modified to generate a temporary document name (for example, TMP-nnnnn) when the hub vault is not available. In the following examples, when a document has a temporary name, a new attempt will be made to retrieve the permanent name after each workflow state change.
The following changes should be made to the code:
The following example shows a wrapper around the NextDocumentName function to assign a temporary document name if the hub vault is unresponsive.
Sub SetDocumentName
Set objGCF = AMCreateObject ("BlueCieloECM.GcfSupport", False)
v = Document.DocumentType.DisplayName
'The next statement avoids the error dialog that would otherwise appear 'when an error occurs during the remote call. On Error Resume Next
vFilename = objGCF.CallRemote "NumberVault", "NextDocumentName", Document.GlobalID, v)
Set objGCF = Nothing 'When the remote call fails for any reason, return no result
If vFilename = "" Then
If Left(Document.Filename, 3) = "TMP" Then 'If the document already has a temporary name and the remote call fails again, 'it should not get a new temporary name.
Exit Sub
Else
vFilename = "TMP-" & Right ("00000" & Vault.Sequence ("Temporary").Next, 5)
End If
End If
Document.Filename = vFilename & ".Txt"
End Sub
The DocGenericEvent_AfterNewDocument event handler is modified to call the SetDocumentName function in the following example:
Sub DocGenericEvent_AfterNewDocument (Batch, Action, SourceFile, DocType, DocTemplate)
GCFDocGeneric_AfterNewDocument Batch, Action, SourceFile, DocType, DocTemplate
Call SetDocumentName
End Sub
Finally, a call to SetDocumentName is added to the DocWorkflowEvent_AfterChangeWFState event handler as shown in the following example:
Sub DocWorkflowEvent_AfterChangeWFState (Batch, SourceState, _ destinationState, Person, Comment)
If Left(Document.Filename, 3) = "TMP" Then
Call SetDocumentName
End If
End Sub
Related concepts
Centralizing sequence number generation
Understanding table data replication
Related tasks
Transferring ownership upon release
Calculating import notification messages
Executing remote script functions
Copyright © 2000-2012 BlueCielo ECM Solutions |